package com.qlm.service;

import java.util.List;

import com.jfinal.upload.UploadFile;
import com.qlm.entity.Gift;
import com.qlm.view.ResultMessage;

/**
 * 积分礼品配置接口
 * @author raoy
 *
 */
public interface IGiftService {
	
	/**
	 * 保存积分礼品配置信息,并将图片上传七牛云服务器
	 * @param giftInfo 积分礼品服务配置信息
	 * @return true/false 保存成功或失败
	 */
	public ResultMessage saveGiftInfo(Gift giftInfo,UploadFile imgFile,UploadFile details_img);
	
	/**
	 * 更新积分礼品配置信息
	 * @param giftInfo 积分礼品配置信息
	 * @return true/false 更新成功或失败
	 */
	public ResultMessage updateGiftInfo(Gift giftInfo,String details_img_,UploadFile imgFile);
	

	/**
	 * 根据ID更新相关积分礼品配置信息的状态
	 * @param id 主键ID	 
	 * @param state 状态码（0：禁用；1：启用）
	 * @return 
	 */
	public ResultMessage updateStateById(String id,int state);
	
	/**
	 * 根据ID更新相关积分礼品配置信息的图片信息
	 * @param id
	 * @param Img
	 * @return
	 */
	public ResultMessage updateImgById(String id,UploadFile fileImg);
	
	/**
	 * 删除积分礼品配置信息
	 * @param id 主键ID
	 * @return true/false 删除成功或失败
	 */
	public ResultMessage deleteGiftInfo(String id);
	
	/**
	 * 查询所有积分礼品配置信息
	 * @return 所有积分礼品配置信息
	 */
	public List<Gift> getGiftInfoList();
	
	/**
	 * 根据ID查询相关积分礼品配置信息
	 * @param id 主键ID
	 * @return ID相关积分礼品配置信息
	 */
	public Gift getGiftInfoById(String id);
	
	/**
	 * 更新积分礼品的数量和剩余数量信息
	 * 
	 * @param number
	 *            修改的数量
	 * @param id
	 *            需要修改数量信息的积分礼品ID
	 * @return
	 */
	public boolean updateGiftCount(int number, String id);
	
	/**
	 * 更新积分礼品的剩余数量信息
	 * @param number 修改的数量
	 * @param id  需要修改数量信息的积分礼品ID
	 * @return
	 */
	public boolean updateGiftRemainCount(int number,String id);
}
